// components/my-component/my-component.js
Component({
  /**
   * 组件的属性列表
   * 声明接受props数据
   */
  properties: {
    person: Object,
  },

  /**
   * 组件的初始数据
   */
  data: {
    count: 0
  },

  /**
   * 组件的方法列表
   */
  methods: {
    update() {
      console.log(this.data.person);
      console.log(this.properties.person);
      
      this.setData({
        count: this.data.count + 1
      })
    },
    setAge() {
      // 不行，不能直接修改数据
      // this.properties.person.age++
      // this.setData({
      //   person: {
      //     name: person.name,
      //     age: person.age + 1
      //   }
      // })
      // 数据源在哪，更新数据的方法就在哪
      this.triggerEvent('setAge', 2)
    }
  },

  lifetimes: {
    created() {
      console.log('component created');
    },
    ready() {
      console.log('component ready');
    },
    attached: function() {
      // 在组件实例进入页面节点树时执行
      console.log('component attached');
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
      console.log('component detached');
    },
  },
  pageLifetimes: {
    show: function() {
      // 页面被展示
      console.log('component show');
    },
    hide: function() {
      // 页面被隐藏
      console.log('component hide');
    },
  }
})
